Признак делимости на 11 часто
формулируют так: сложим отдельно цифры числа, стоящих на чётных и на нечётных
местах. Если разница сумм делится на 11, то и само число делится на 11.
Посчитайте эти суммы и найдите их произведение.
Вход. Натуральное число n (10 ≤
n ≤ 2 *109).
Выход. Вывести произведение сумм цифр на
чётных и на нечётных местах.
Пример
входа 1 |
Пример
выхода 1 |
27 |
14 |
|
|
Пример
входа 2 |
Пример
выхода 2 |
2821 |
36 |
РЕШЕНИЕ
циклы
Анализ алгоритма
В переменных a и b находим суммы цифр на чётных и на нечётных местах. Выводим их произведение.
Объявим
переменную flag
которая
будет принимать попеременно значения 0 и 1. При flag = 1 последнюю цифру числа n прибавляем к a, при flag = 0 ее прибавляем к b. На каждой итерации делим n на 10 и
изменяем флаг: flag = 1 – flag.
Пример
Рассмотрим
второй пример.
При flag = 1 последняя цифра
цифра прибавляется к a.
При flag = 0 последняя
цифра цифра прибавляется к b.
Реализация алгоритма
Читаем входное
значение n.
scanf("%d", &n);
Инициализируем переменные. Перебираем цифры числа n.
flag = a = b = 0;
while (n > 0)
{
В зависимости от значения флага последнюю цифру числа n прибавляем к a или к b.
if
(flag == 1) a = a + n % 10; else b =
b + n % 10;
Изменяем флаг. Делим n на 10, переходим к обработке следующей цифры.
flag = 1 -
flag;
n = n / 10;
}
Выводим искомое произведение.
printf("%d\n", a *
b);